package algoWing42.modelo;


public class Explorador extends AvionEnemigo {
    /**
	 * 
	 */
	private static final long serialVersionUID = -9045054889668259124L;
	private int radioDeGiro;
    private int theta;
    private Punto centroDelCirculo;
    
    public static final int RADIO_EXPLORADOR = 40;
    public static final int ENERGIA_EXPLORADOR = 10;
    public static final int RADIO_DE_GIRO = 8;
    public static final int THETA_INICIAL = 10;
    public static final int SALTO_DE_ANGULO = 10; //dejar fijo

    public Explorador(int x, int y) {
        super(x, y, RADIO_EXPLORADOR); 
        inicializarExplorador();
    }
    
    public Explorador(Punto posicion) {
        super(posicion.getX(), posicion.getY(), RADIO_EXPLORADOR);//2
        inicializarExplorador();
    }
    
    private void inicializarExplorador() {
    	this.energia = ENERGIA_EXPLORADOR;
    	this.radioDeGiro = RADIO_DE_GIRO;
        this.theta = THETA_INICIAL;
        this.centroDelCirculo = new Punto(this.getArea().getPosicion().getX() -
                this.radioDeGiro, this.getArea().getPosicion().getY());    
    }

    /**
     * Movimiento circular uniforme descripto en polares.
     */
    @Override
    protected void mover() {
        int x = this.centroDelCirculo.getX() +
            (int) Math.round(this.radioDeGiro * (Math.cos(Math.toRadians(this.theta))));
        int y = this.centroDelCirculo.getY() +
            (int) Math.round(this.radioDeGiro * (Math.sin(Math.toRadians(this.theta))));
        this.moverA(x, y);
        this.theta = this.theta + SALTO_DE_ANGULO;
    }

    public int getRadio() {
        return this.radioDeGiro;
    }   
}
